package cn.edu.gdut.deepcode.domain.dto;

import cn.edu.gdut.deepcode.constant.GlobalConstant;
import cn.edu.gdut.deepcode.enums.OperationTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 画布操作DTO
 * </p>
 *
 * @author author
 * @since 2025-04-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="CanvasOperationDTO对象", description="画布操作DTO")
public class CanvasOperationDTO {

    @ApiModelProperty(value = "画布id")
    private Long canvasId;

    @ApiModelProperty(value="操作者id")
    private Long operationUserId;

    @ApiModelProperty(value = GlobalConstant.OPERATION_TYPE_ENUM_DESC)
    private OperationTypeEnum operationType;

    @ApiModelProperty(value = "元素id")
    private Long elementId;

    @ApiModelProperty(value = "元素数据")
    private String elementData;

    @ApiModelProperty(value = "元素版本")
    private Long version;
}
